Alright, I hope you can hear me and you can see my slide.
Yes.
Okay, good.
So the last part of today is about ARM DDT.
The first two talks by Thomas and Aisha were about performance tools, liquid and an ITAC.
DDT is a debugger.
And if you have had any contact with debuggers, you know these are bug searching tools that
allow you to step through your code, inspect data and see what's going on if anything is
wrong.
DDT is the product we have licensed at RZE.
So you can find modules on EME and MEGI for it.
It's part of ArmForge, which is a larger package that also contains MAP, which is a performance
profiler and we might come back to MAP at a later HPC Cafe.
But it would be too much for today.
So DDT is actually a full-fledged serial debugger.
If you're used to GDB or DDD, which is an open source GUI frontend for GDB, then you
know what it can do.
It can debug serial programs, but it's also compatible with OpenMP runtime.
So it can run OpenMP parallel programs and step through them, although there are some
caveats which I will touch on later a little bit.
It is also able to debug MPI parallel programs and SPMD and MPMD modes.
So you can run different binaries in the same MPI program if you must.
It has the usual feature set.
So you can single step through your source code.
You can step into or out of functions, step over functions, but still executing them,
inspect variables and two very nice features which I will demonstrate later in the demo
are watch points and trace points.
So if you're in favor of using printf for doing your debugging, which I am definitely,
then for example, trace points are the way to go with a debugger.
They're really easy to handle in DDT.
It supports natively C, C++ and Fortran.
Actually, I haven't looked up whether other languages are supported, but these three are,
of course, the standard HPC languages.
And there's some features which make it a capable parallel debugger.
There's basically just one competing product, which is TotalView.
And at one point we had to decide which one of the two to license, and we decided for
DDT some months ago.
Okay.
So what does it look like?
I will have a demo later.
This is just a very small slide set, so don't worry.
This is the main interface window.
I fired it up here with an OpenMP program, but that doesn't really matter here.
So I just quickly walk you through the components just to make you, just to show what's there.
So there's a thread process and control window or banner or ribbon where you see all your
threads and processes running.
You can also group them to your liking, which I will show later.
On the left, there's a panel that lets you navigate through the functions in the current
file and through all the files that are potentially part of the program.
At the bottom, there's a couple of windows that let you view the stack trace of the current
Presenters
Zugänglich über
Offener Zugang
Dauer
00:25:14 Min
Aufnahmedatum
2020-07-21
Hochgeladen am
2020-07-21 11:06:22
Sprache
en-US